The consumption of video content delivered over a network has dramatically increased over time due, at least in part, to the availability of VOD (Video On Demand) services and live services as well as to the multiplication of devices having network access. By way of example only, video content can be accessed from various kinds of terminals such as smart phones, tablets, personal computers (PCs), televisions, Set Top Boxes, and game consoles. Video content may also be distributed over various types of networks including, but not limited to, broadcast, cable, satellite, cellular, ADSL, and fiber.
Video content can be characterized by different parameters; an example of one such parameter is a spatial resolution parameter which defines the number of horizontal and vertical pixels for the video content. While the resolution may be identified a variety of different notations, in practice the resolution typically corresponds to one of a number of standard resolutions that have been defined. Popular resolutions available today include 480p (720×480 pixels), 576p (720×576 pixels), 720p (1280×720 pixels), 1080i (1920×1080 pixels split in two interlaced fields of 540 lines), 1080p (1920×1080 pixels), 2160p (3840×2160 pixels) and 4320p (7680×4320 pixels). The resolutions 720p, 1080i and 1080p are generally referred as “HD” (High Definition) or “HDTV” (High Definition Television), the resolution 1080p can also be referred to as “Full HD” (Full High Definition). Resolutions 2160p and 4320p may also be referred to as “UHD” (Ultra High definition) or “UHDTV” (Ultra High Definition Television), resolution 2160p may also be referred to as “4K UHD” (4 kilo Ultra High Definition), and resolution 4320p may be known as “8 k UHD” (8 kilo Ultra High Definition).
Due to the large size of raw video, video content is generally accessed in compressed form. Video content is therefore digital expressed or represented using a particular video compression standard. The most widely used video standards belong to the “MPEG” (Motion Picture Experts Group) family, which notably comprises the MPEG-2, AVC (Advanced Video Compression which is also called H.264) and HEVC (High Efficiency Video Compression, which is also called H.265) standards.
The term OTT (Over-The-Top) refers to video delivery platforms that delivers video content over an unmanaged IP network, such as the Internet. In OTT delivery, video content which can be requested is made available in a number of different representations. A representation is a particular manner of expressing video content. For example, a representation of a particular digital video may be characterized by a particular spatial resolution, a particular bit rate, a particular compression format, a particular set of encoding options, and a particular set of packaging information.
Packaging information may correspond to a file format and file extension used to represent the digital video. Video clients, which play digital video, are generally able to parse some, but not all, file formats, and so the packaging information is used when identifying whether a video client can play a particular representation. A video client, capable of playing requested video content, may receive information about the representations that are available for a particular digital video in a manifest file.
Digital video may be split into a succession of small files, called segments, which are encoded in all available representations. To play a requested digital video, the video client downloads and plays the segments in the representation of interest. When the bandwidth available to the video client fluctuates, the video client may download video segments encoded at a different bit rate in accordance with the available bandwidth.
A factor in the bit rate available to a video decoding device for receiving digital video is the type of connection over which the digital video is transmitted. For example, a set-top box or a PC using Wi-Fi or a wired connection may be capable of receiving video of a high quality and, therefore, a high bit rate. On the other hand, a mobile device using a 3G connection to connect with the Internet may only be capable of receiving video with a low quality at a low bitrate.
The large diversity of video decoding devices, video compression standards, video resolutions, and available bit rates therefore results in a need for a large combination of representations for a single digital video to serve a wide range of customers across heterogeneous networks.
Digital video is typically delivered over an Internet Protocol (IP) network using a Content Delivery Network (CDN). A CDN typically comprises a large number of servers. An origin or headend server of the CDN is responsible for storing and supplying the video content across the network to video clients that request the video content. If a large number of video clients are present in a region, then the CDN may deploy a server called an edge server in that region for scalability considerations. The edge server may handle the requests for digital video issued by the video clients in that region and eventually send those requests to the headend server. When a plurality of requests for the same digital video are received by an edge server, the edge server need only send the first request for this particular content to the headend server regardless of how many subsequent times that particular content is requested by video clients in that region. After an edge server receives segments from the requested content from the headend server, the edge server may store or cache these segments so that they may be used to satisfy additional requests for the same content without requesting the content again from the headend server. In this fashion, the use of edge servers allows for bandwidth between headend and edge servers to be conserved.
Traditional Adaptive Bit Rate (ABR) type delivery in the context of an OTT service have been primary implemented using Constant Bit Rate (CBR) video streams. In a Constant Bit Rate (CBR) video stream, the required bandwidth for that video stream is indicated in the corresponding manifest file. However, using certain advanced encoding schemes, such as Variable Bit Rate (VBR) and capped Variable Bit Rate, the size of each segment, when encoded with a maximum bit rate constraint, will not necessarily be the same, as the size of each segment depends not only on the maximum bit rate but also on video complexity using encoding using such advanced encoding schemes.
Traditionally, segments are referenced in a manifest file using the segment's maximum possible bit rate. Thus, it can be very difficult for an operator of a CDN to know at any given time the actual load (i.e., consumed bandwidth) at different locations of the CDN. In many cases, the service provider that makes available a certain amount of content (being live or on-demand) on the CDN does not own the full delivery chain and contracts with the CDN provider on the basis of a certain traffic load (i.e., the maximum load that the CDN provider expects to be able to provide to all customers). As a result of the difficulties in ascertaining the exact load being experienced across locations of a CDN at any given time, the content owner/video service provider often must contract for a greater amount of service from an operator of a CDN than is actually needed by the content owner/video service provider. Additionally, the operator of the CDN often is required to overinvest in hardware and software to support the CDN, resulting in inefficient use of financial and computational resources.